package com.xbongbong.paas.pojo;

import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.domain.entity.ext.FieldPermissionEntityExt;
import com.xbongbong.paas.field.FieldAttrEntity;
import com.xbongbong.paas.pojo.vo.PaasProcessNodeTaskVO;
import com.xbongbong.paas.pojo.vo.SummaryDataVO;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.paas.toolbox.wrap.UserVO;
import com.xbongbong.pro.formdata.pojo.SaasSpecialParamPojo;
import com.xbongbong.sys.domain.entity.UserEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * @ClassName ProcessNodeTaskDetailGetPojo
 * @Description 流程详情 pojo
 * @Author mengna.Deng
 * @Date 2021/12/7 16:59
 * @Version 1.0
 */
@Getter
@Setter
@ToString
public class ProcessNodeTaskDetailGetPojo extends BaseVO {

    /**
     * 表单数据ID
     */
    private Long dataId;

    /**
     * 返回数据，除了子表单
     */
    private JSONObject data;

    /**
     * 流程状态
     */
    private Integer flowStatus;
    /**
     * 流程状态描述
     */
    private String flowStatusDesc;

    /**
     * 节点流程任务
     */
    private PaasProcessNodeTaskVO processNodeTask;

    /**
     * 摘要数据封装对象
     */
    private SummaryDataVO summary;

    /**
     * 标题
     */
    private String title;
    /**
     * 字段权限
     */
    private List<FieldPermissionEntityExt> fieldPermissionEntityList;

    /**
     * 字段列表
     */
    private List<FieldAttrEntity> headList;

    /**
     * 抄送人
     */
    private List<UserEntity> ccUserList;

    private UserVO commitUser;

    /**
     * 历史审批日志
     */
    private List<Object> historyLog;
    /**
     * 当前审批
     */
    private List<Object> currentLog;

    /**
     * 流水号
     */
    private String serialNo;


    /**
     * 表单名称
     */
    private String name;

    private Long timeConsuming;

    /**
     * 是否可以撤回 1： 可以撤回 0： 不能撤回
     */
    private Integer revoke;
    /**
     * 是否允许查看历史 1 允许，0不允许
     */
    private Integer allowViewLog;

    /**
     * 是否可以重新提交 1：可以重新提交 0：不可以重新提交
     */
    private Integer againCommit;

    private Integer delFlag;
    /**
     * 是否可打印
     */
    private Integer printFlag;
    /**
     * 是否签署
     */
    private Integer esignFlag;

    /**
     * 红冲发票用
     */
    private SaasSpecialParamPojo saasSpecialParamPojo;

    private List<String> unDealUserList;

    /**
     * 流程类型
     */
    private String processType;

    /**
     * 流程用时
     */
    private Long processTime;

    private String versionName;

    private Double writeOffAmount;

    public ProcessNodeTaskDetailGetPojo(){
        revoke = 0;
        againCommit = 0;
        delFlag = 0;
        printFlag = 0;
    }
}
